package net.hn.hnms.biz.api.mine;

import io.swagger.annotations.ApiOperation;
import net.hn.hnms.biz.api.mine.model.AlarmMessageItemVo;
import net.hn.hnms.biz.api.feign.model.DataStateVo;
import net.hn.hnms.biz.api.mine.model.FanSystemVolumeAndSpeedDto;
import net.hn.hnms.sys.common.core.constant.ServiceNameConstants;
import net.hn.hnms.sys.common.core.domain.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @InterfaceName: RemoteEquService
 * @Description
 * @Author 王龙
 * @Date 2022-08-27
 * @Version 0.1
 */

//@FeignClient(contextId = "RemoteEquipmentService", value = ServiceNameConstants.MANAGEMENT_EQUIPMENT_SERVICE,fallback = RemoteEquipmentServiceFallback.class)
@FeignClient(contextId = "RemoteEquipmentService", value = ServiceNameConstants.MANAGEMENT_EQUIPMENT_SERVICE)
public interface RemoteEquipmentService {
    @GetMapping("/equipment/zdsb")
    @ApiOperation("重大设备")
    public R<Map> zdsb(@RequestParam("equipmentType") String equipmentType
            , @RequestParam("apiPage") String apiPage,@RequestParam("mineCode") String mineCode);

    /**
     * 获取水泵房排水量今日累计量的数据
     */
    @ApiOperation("获取水泵房排水量今日累计量的数据")
    @GetMapping("/fein/getTodayAddDrainAwayWater")
    public BigDecimal getTodayAddDrainAwayWater(@RequestParam("mineCode") String mineCode);

    /**
     * 获取水泵房排水量的数据
     */
    @ApiOperation("获取水泵房排水量的数据")
    @GetMapping("/fein/getDrainAwayWater")
    public BigDecimal getDrainAwayWater(@RequestParam("mineCode") String mineCode);


    @ApiOperation("重大设备告警信息")
    @GetMapping("/equipment/alarmMessageItem")
    R<List<AlarmMessageItemVo>> alarmMessageItem(@RequestParam("equipmentType") String equipmentType);

    @GetMapping("fein/maxTime")
    R<List<DataStateVo>> getMaxTime(@RequestParam("mineCode") String mineCode, @RequestParam("companyCode")  String companyCode, @RequestParam("sysName")  String sysName);

    @ApiOperation("获取煤矿主通风机的状态、风速、风量数据")
    @GetMapping("/fein/getFanSystemVolumeAndSpeedList")
    public R<List<FanSystemVolumeAndSpeedDto>> getFanSystemVolumeAndSpeedList(@RequestParam("mineCode")String mineCode);

}
